package pers.jsan.litheopen.security.prover;

import pers.jsan.litheopen.security.exception.LitheAuthenticationException;
import pers.jsan.litheopen.security.oauth.model.LitheAuthenticationToken;
import pers.jsan.litheopen.security.oauth.model.UserDetail;

public interface AuthenticationProver {

    public LitheAuthenticationToken authenticate(LitheAuthenticationToken litheAuthenticationToken) throws LitheAuthenticationException;

    /**
     * 初始化返回用户信息
     * @param userDetail 用户信息
     * @return Object
     */
    public Object formatOauthUserMessage(UserDetail userDetail);
}
